Delayed Exceptions - Speculative Execution of Trapping Instructions

نویسندگان

  • M. Anton Ertl
  • Andreas Krall
چکیده

Superscalar processors, which execute basic blocks sequentially, cannot use much instruction level parallelism. Speculative execution has been proposed to execute basic blocks in parallel. A pure software approach suffers from low performance, because exception-generating instructions cannot be executed speculatively. We propose delayed exceptions, a combination of hardware and compiler extensions that can provide high performance and correct exception handling in compiler-based speculative execution. Delayed exceptions exploit the fact that exceptions are rare. The compiler assumes the typical case (no exceptions), schedules the code accordingly, and inserts run-time checks and x-up code that ensure correct execution when exceptions do happen.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Processor Veri cation with Precise Exceptionsand Speculative

We describe a framework for verifying a pipelined microprocessor whose implementation contains precise exceptions, external interrupts, and speculative execution. We present our correctness criterion which compares the state transitions of pipelined and non-pipelined machines in presence of external interrupts. To perform the veriica-tion, we created a table-based model of pipeline execution. T...

متن کامل

A comparison of two policies for issuing instructions speculatively

Value speculation is a speculative technique proposed to reduce the execution time of programs. It relies on a predictor, a checker and a recovery mechanism. The predictor predicts the result of an instruction in order to issue speculatively its dependent instructions, the checker checks the prediction after issuing the predicted instruction, and the recovery mechanism deals with mispredictions...

متن کامل

Speculative Branch Folding for Pipelined Processors

This paper proposes an effective branch folding technique which combines branch instructions with predicted instructions. This technique can be implemented using an instruction queue, which buffers prefetched instructions. Most of the instructions in the instruction queue are forwarded to the execution unit in sequence. Branch instructions, however, are combined with predicted instructions in t...

متن کامل

Exploiting Speculative Value Reuse Using Value Prediction

Data dependencies between instructions greatly impede instruction-level parallelism. Recently two hardware techniques – Value Prediction and Value Reuse – have been proposed to overcome the limits imposed by data dependencies. We introduce a new hardware scheme for exploiting speculative value reuse by using value prediction. We propose a new microarchitecture which uses value prediction to pro...

متن کامل

Compiler and Architectural Techniques for Improving the Effectiveness of VLIW Compilation

Effective VLIW compilation requires optimizing across basic block boundaries. In this mildly opinionated paper we survey a variety of techniques which allow the compiler to do so. We focus on trace scheduling, speculative execution. and software pipelining. These techniques are effective, but cannot in general optimally schedule instructions for all traces of execution. To address this problem,...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994